package com.itheima.case2.dao;


import com.itheima.case2.pojo.po.User;
import org.apache.ibatis.annotations.*;

import java.util.List;

public interface UserMapper {

    //分页查询用户和对应角色信息
    List<User> queryUserAndRoleByPage(@Param("startIndex") Integer startIndex,@Param("pageSize") Integer pageSize,@Param("username")String username);

    //查询用户表数据总数
    Long queryUserCount(@Param("username")String username);

    //修改用户信息
    @Update("update t_user set username=#{username},password=#{password},remark=#{remark},email=#{email} where id=#{id}")
    void updateUser(User user);

    //添加用户
    //添加用户和对应角色信息  使用自增主键回填
    @Options(useGeneratedKeys = true,keyProperty = "id")
    @Insert("insert into t_user values(null,#{username},#{password},#{remark},#{email},#{createTime},#{updateTime})")
    void insertUser(User user);

    //删除用户信息（需要先删除该用户角色中间表的所有信息）
    @Delete("delete from t_user where id=#{id}")
    void deleteById(@Param("id") String id);

}
